//////////////////////elaborado por: Susana Taquichiri////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Boa.AIT.AccesoDatos.Entidades;
using Boa.AIT.Negocios;
using Boa.AIT.Negocios.Servicios;
using Didsoft.Mvc.DataModel;
using Didsoft.Mvc.Controller;
using Didsoft.Mvc.DataModel.Lites;

namespace Boa.AIT.Web.Controllers
{
    public class AIT_EquipoDisponibleController : BaseController<AIT_EquipoDisponible>
    {
	    #region interface servicios AIT_EquipoDisponible

		private IAIT_EquipoDisponibleNegociosServicio servicio = null;

		#endregion
		
		
		#region constructor and overridable

        public AIT_EquipoDisponibleController()
        {
		    servicio = new AIT_EquipoDisponibleNegocios();
            base.SetDataModelService(servicio);            
        }
		        

		

		#endregion

		#region	actions

		[HttpGet]
		public override ActionResult Index()
        {
            return RedirectToAction("FilterList");
        }

        [HttpGet]
        public ActionResult Crear()
        {
            return View();
        }


        [HttpPost]
        public ActionResult Crear(FormCollection datos)
        {
            try
            {
                string nombre = datos["Nombre"];
                string descripcion = datos["Descripcion"];
                string GuidEquipo = datos["GuidEquipo"];
                string GuidAccesorios = datos["GuidAccesorios"];
                AIT_EquipoDisponible guardado = servicio.GuardarEquipoDisponible(nombre, descripcion, true, GuidEquipo, GuidAccesorios);
                return View();

            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error",ex.Message);
                return View();               
            }
        }





        [HttpPost]
        public JsonResult JSONGetEquiposNoAsignados()
        {
            try
            {
                List<KeyValueLite> datas = new List<KeyValueLite>();
                try
                {
                    datas = servicio.GetEquiposNoAsignados().Select(c => new
                    KeyValueLite
                    {
                        DisplayText = c.NombreCompleto,
                        Value = c.Id.ToString()
                    }).ToList();
                }
                catch
                {
                    datas = GetElementsForDropdownList();
                }


                return Json(new { Result = "OK", Options = datas });
            }
            catch (Exception ex)
            {
                return Json(new { Result = "ERROR", Message = ex.Message });
            }
        }









		#endregion


    }
}

